/**
 * 省份简称 → 全称 映射表
 * 覆盖：直辖市、省、自治区
 */
const provinceMap = {
    // 直辖市
    北京: '北京市', 京: '北京市',
    上海: '上海市', 沪: '上海市',
    天津: '天津市', 津: '天津市',
    重庆: '重庆市', 渝: '重庆市',
    // 华北
    河北: '河北省', 冀: '河北省', 石家庄: '河北省',
    山西: '山西省', 晋: '山西省', 太原: '山西省',
    内蒙古: '内蒙古自治区', 蒙: '内蒙古自治区', 呼和浩特: '内蒙古自治区',
    // 东北
    辽宁: '辽宁省', 辽: '辽宁省', 沈阳: '辽宁省',
    吉林: '吉林省', 吉: '吉林省', 长春: '吉林省',
    黑龙江: '黑龙江省', 黑: '黑龙江省', 哈尔滨: '黑龙江省',
    // 华东
    江苏: '江苏省', 苏: '江苏省', 南京: '江苏省',
    浙江: '浙江省', 浙: '浙江省', 杭州: '浙江省',
    安徽: '安徽省', 皖: '安徽省', 合肥: '安徽省',
    福建: '福建省', 闽: '福建省', 福州: '福建省',
    江西: '江西省', 赣: '江西省', 南昌: '江西省',
    山东: '山东省', 鲁: '山东省', 济南吗: '山东省',
    // 华中
    河南: '河南省', 豫: '河南省', 郑州: '河南省',
    湖北: '湖北省', 鄂: '湖北省', 武汉: '湖北省',
    湖南: '湖南省', 湘: '湖南省', 长沙: '湖南省',
    // 华南
    广东: '广东省', 粤: '广东省', 广州: '广东省',
    广西: '广西壮族自治区', 桂: '广西壮族自治区', 南宁: '广西壮族自治区',
    海南: '海南省', 琼: '海南省', 海口: '海南省',
    // 西南
    四川: '四川省', 川: '四川省', 蜀: '四川省', 成都: '四川省',
    贵州: '贵州省', 黔: '贵州省', 贵: '贵州省', 贵阳: '贵州省',
    云南: '云南省', 滇: '云南省', 云: '云南省', 昆明: '云南省',
    西藏: '西藏自治区', 藏: '西藏自治区', 拉萨: '西藏自治区',
    // 西北
    陕西: '陕西省', 陕: '陕西省', 秦: '陕西省', 西安: '陕西省',
    甘肃: '甘肃省', 甘: '甘肃省', 陇: '甘肃省', 兰州: '甘肃省',
    青海: '青海省', 青: '青海省', 西宁: '青海省',
    宁夏: '宁夏回族自治区', 宁: '宁夏回族自治区', 银川: '宁夏回族自治区',
    新疆: '新疆维吾尔自治区', 新: '新疆维吾尔自治区', 乌鲁木齐: '新疆维吾尔自治区'
};

/**
 * 转换函数
 * @param {Array<{id:string, count:number}>} arr
 * @return {Array<{name:string, value:number}>}
 */
function convertProvince(arr) {
    return arr.map(({ id, count }) => {
        const key = provinceMap[id] || provinceMap[id.replace(/省|市|自治区|壮族|回族|维吾尔/g, '')];
        return {
            name: key || id, // 没匹配到就原样返回
            value: count
        };
    });
}

function convertOneProvince(id) {
    const key = provinceMap[id] || provinceMap[id.replace(/省|市|自治区|壮族|回族|维吾尔/g, '')];
    return key || id;
}


/* ====== 使用示例 ====== */
const raw = [
    { id: '上海', count: 2 },
    { id: '北京', count: 2 },
    { id: '四川', count: 2 },
    { id: '山东', count: 2 },
    { id: '广东', count: 2 },
    { id: '江苏', count: 2 },
    { id: '河南', count: 2 },
    { id: '浙江', count: 2 },
    { id: '湖北', count: 2 },
    { id: '湖南', count: 2 }
];

console.log(convertProvince(raw));
/*
[
  { name: '上海市', value: 2 },
  { name: '北京市', value: 2 },
  { name: '四川省', value: 2 },
  { name: '山东省', value: 2 },
  ...
]
*/

export default convertOneProvince;